Summary

Attendees


Semester Sessions Attendees Unique
Spring 2015 7 93 52
Fall 2015 8 81 52
Fall 2016 10 75 50
Spring 2017 9 39 26
Fall 2017 4 11 9
Spring 2018 6 23 18
Summer 2018 6 69 32
Fall 2018 6 48 35
Spring 2019 8 58 32
Summer 2019 6 65 43
Fall 2019 10 46 28
Spring 2020 9 82 54
Fall 2020 10 77 42
Spring 2021 13 97 53
Fall 2021 8 25 21
120 889 547

Attendees Status


Status Attendees Unique
Affiliate 14 6
Faculty 80 49
Faculty/Staff 221 114
Graduate Student 400 207
Undergraduate Student 174 98
889 474

Attendees per Session


Session Offered Attendees Average
Linux 15 136 9.07
Python 10 130 13.00
R 9 91 10.11
Shell Basic 7 68 9.71
LURC 12 59 4.92
Machine Learning 4 53 13.25
Linux Intro 3 47 15.67
Python Visualization 7 45 6.43
R Visualization 6 42 7.00
LaTeX 7 35 5.00
MATLAB 7 35 5.00
SLURM 9 33 3.67
Shell Advanced 3 18 6.00
GIT 3 17 5.67
Python OOP 2 17 8.50
Storage 4 16 4.00
RDM 2 13 6.50
OnDemand 2 9 4.50
Text Mining 2 9 4.50
Shiny Apps 2 7 3.50
Python Data Structure 1 4 4.00
BYOS 1 3 3.00
Research Impact 1 1 1.00
Virtual Software 1 1 1.00

Departments/Majors represented by Attendees


Semester Sessions Attendees Department
Spring 2015 7 93 23
Fall 2015 8 81 25
Fall 2016 10 75 28
Spring 2017 9 39 17
Fall 2017 4 11 6
Spring 2018 6 23 13
Summer 2018 6 69 20
Fall 2018 6 48 20
Spring 2019 8 58 26
Summer 2019 6 65 31
Fall 2019 10 46 20
Spring 2020 9 82 34
Fall 2020 10 77 30
Spring 2021 13 97 33
Fall 2021 8 25 17
120 889 343
College Attendees Unique
CAS 188 108
CoB 73 39
CoE 25 13
CoH 1 1
LTS 94 49
Other 76 42
RCEAS 408 205
Undeclared 24 16
889 473

Summary

Attendees


Semester Sessions Attendees Unique
Spring 2021 13 97 53
Fall 2021 8 25 21
21 122 74
Session Offered Attendees Average
Linux 2 18 9.0
LURC 2 16 8.0
Python 1 16 16.0
Python Visualization 2 11 5.5
R 2 11 5.5
SLURM 2 10 5.0
Machine Learning 1 9 9.0
R Visualization 2 9 4.5
Shiny Apps 2 7 3.5
LaTeX 1 4 4.0
Python Data Structure 1 4 4.0
BYOS 1 3 3.0
OnDemand 1 3 3.0
MATLAB 1 1 1.0

Attendees Status


Status Attendees Unique
Faculty 9 7
Faculty/Staff 16 12
Graduate Student 37 25
Undergraduate Student 60 29
122 73

Attendees per Session

Departments/Majors represented by Attendees


Semester Sessions Attendees Department
Spring 2021 13 97 33
Fall 2021 8 25 17
21 122 50
College Attendees Unique
CAS 14 10
CoB 8 8
CoE 5 2
CoH 1 1
LTS 2 1
Other 10 9
RCEAS 82 42
122 73

Spring 2021

Summary


Status Total Unique
Faculty 6 4
Faculty/Staff 11 9
Graduate Student 25 16
Undergraduate Student 55 24
97 53
Session Attendees
BYOS 3
LaTeX 4
Linux 10
LURC 10
Machine Learning 9
OnDemand 3
Python 16
Python Data Structure 4
Python Visualization 9
R 6
R Visualization 8
Shiny Apps 6
SLURM 9

Attendees by Session

Session Faculty Faculty/Staff Graduate Student Undergraduate Student
BYOS 0 0 0 3
LaTeX 0 0 1 3
Linux 1 1 4 4
LURC 1 0 6 3
Machine Learning 0 1 0 8
OnDemand 0 0 1 2
Python 0 3 1 12
Python Data Structure 0 0 1 3
Python Visualization 0 0 3 6
R 1 2 0 3
R Visualization 1 2 2 3
Shiny Apps 1 2 2 1
SLURM 1 0 4 4

Department/Majors represented by Attendees


College Attendees Unique
CAS 8 5
CoB 7 7
CoE 3 1
LTS 2 1
Other 6 6
RCEAS 71 33
97 53

Fall 2021

Summary


Status Total Unique
Faculty 3 3
Faculty/Staff 5 4
Graduate Student 12 9
Undergraduate Student 5 5
25 21
Session Attendees
Linux 8
LURC 6
MATLAB 1
Python Visualization 2
R 5
R Visualization 1
Shiny Apps 1
SLURM 1

Attendees by Session

Session Faculty Faculty/Staff Graduate Student Undergraduate Student
Linux 1 1 5 1
LURC 2 0 3 1
MATLAB 0 0 0 1
Python Visualization 0 1 1 0
R 0 2 1 2
R Visualization 0 0 1 0
Shiny Apps 0 1 0 0
SLURM 0 0 1 0

Department/Majors represented by Attendees


College Attendees Unique
CAS 6 5
CoB 1 1
CoE 2 1
CoH 1 1
Other 4 4
RCEAS 11 9
25 21

Summary

Attendees


Semester Sessions Attendees Unique
Spring 2020 9 82 54
Fall 2020 10 77 42
19 159 96
Session Offered Attendees Average
Machine Learning 2 35 17.5
R Visualization 2 21 10.5
R 2 20 10.0
LURC 2 17 8.5
Python 2 16 8.0
SLURM 2 11 5.5
Python Visualization 2 10 5.0
Linux 2 9 4.5
Python OOP 1 8 8.0
OnDemand 1 6 6.0
Text Mining 1 6 6.0

Attendees Status


Status Attendees Unique
Affiliate 7 2
Faculty 25 11
Faculty/Staff 29 18
Graduate Student 78 51
Undergraduate Student 20 13
159 95

Attendees per Session

Departments/Majors represented by Attendees


Semester Sessions Attendees Department
Spring 2020 9 82 34
Fall 2020 10 77 30
19 159 64
College Attendees Unique
CAS 27 18
CoB 31 14
LTS 10 6
Other 16 10
RCEAS 66 41
Undeclared 9 6
159 95

Spring 2020

Summary


Status Total Unique
Affiliate 7 2
Faculty 9 5
Faculty/Staff 17 12
Graduate Student 38 27
Undergraduate Student 11 8
82 54
Session Attendees
Linux 4
LURC 5
Machine Learning 28
Python 7
Python OOP 8
Python Visualization 4
R 10
R Visualization 11
SLURM 5

Attendees by Session

Session Affiliate Faculty Faculty/Staff Graduate Student Undergraduate Student
Linux 0 0 1 3 0
LURC 0 0 0 4 1
Machine Learning 2 4 6 12 4
Python 1 0 1 4 1
Python OOP 0 3 0 3 2
Python Visualization 1 0 2 1 0
R 1 0 4 3 2
R Visualization 2 2 3 3 1
SLURM 0 0 0 5 0

Department/Majors represented by Attendees


College Attendees Unique
CAS 18 11
CoB 12 9
LTS 5 3
Other 15 9
RCEAS 32 22
82 54

Fall 2020

Summary


Status Total Unique
Faculty 16 7
Faculty/Staff 12 6
Graduate Student 40 24
Undergraduate Student 9 5
77 42
Session Attendees
Linux 5
LURC 12
Machine Learning 7
OnDemand 6
Python 9
Python Visualization 6
R 10
R Visualization 10
SLURM 6
Text Mining 6

Attendees by Session

Session Faculty Faculty/Staff Graduate Student Undergraduate Student
Linux 0 0 5 0
LURC 3 2 7 0
Machine Learning 1 1 3 2
OnDemand 1 0 5 0
Python 4 3 2 0
Python Visualization 1 2 2 1
R 1 2 5 2
R Visualization 3 0 4 3
SLURM 0 2 4 0
Text Mining 2 0 3 1

Department/Majors represented by Attendees


College Attendees Unique
CAS 9 7
CoB 19 6
LTS 5 3
Other 1 1
RCEAS 34 19
Undeclared 9 6
77 42

Summary

Attendees


Semester Sessions Attendees Unique
Spring 2019 8 58 32
Summer 2019 6 65 43
Fall 2019 10 46 28
24 169 103
Session Offered Attendees Average
Python 3 46 15.33
R 2 21 10.50
LaTeX 3 18 6.00
Linux 3 18 6.00
Python Visualization 2 15 7.50
Shell Basic 2 11 5.50
Machine Learning 1 9 9.00
Python OOP 1 9 9.00
R Visualization 1 8 8.00
LURC 2 5 2.50
Text Mining 1 3 3.00
GIT 1 2 2.00
MATLAB 1 2 2.00
SLURM 1 2 2.00

Attendees Status


Status Attendees Unique
Affiliate 3 2
Faculty 11 8
Faculty/Staff 36 28
Graduate Student 81 36
Undergraduate Student 38 24
169 98

Attendees per Session

Departments/Majors represented by Attendees


Semester Sessions Attendees Department
Spring 2019 8 58 26
Summer 2019 6 65 31
Fall 2019 10 46 20
24 169 77
College Attendees Unique
CAS 40 21
CoB 11 6
CoE 11 6
LTS 16 13
Other 14 8
RCEAS 77 44
169 98

Spring 2019

Summary


Status Total Unique
Faculty 2 2
Faculty/Staff 9 7
Graduate Student 36 15
Undergraduate Student 11 8
58 32
Session Attendees
LaTeX 5
Linux 8
LURC 4
Python 14
Python Visualization 5
R 12
R Visualization 8
SLURM 2

Attendees by Session

Session Faculty Faculty/Staff Graduate Student Undergraduate Student
LaTeX 1 2 2 0
Linux 0 0 4 4
LURC 0 0 4 0
Python 1 3 5 5
Python Visualization 0 1 3 1
R 0 1 11 0
R Visualization 0 1 6 1
SLURM 0 1 1 0

Department/Majors represented by Attendees


College Attendees Unique
CAS 18 9
CoB 6 4
CoE 5 2
LTS 5 4
Other 3 2
RCEAS 21 11
58 32

Summer 2019

Summary


Status Total Unique
Affiliate 3 2
Faculty 5 3
Faculty/Staff 21 17
Graduate Student 18 11
Undergraduate Student 18 10
65 43
Session Attendees
LaTeX 11
Linux 5
Python 24
Python Visualization 10
R 9
Shell Basic 6

Attendees by Session

Session Affiliate Faculty Faculty/Staff Graduate Student Undergraduate Student
LaTeX 0 0 6 1 4
Linux 1 0 0 0 4
Python 1 1 11 7 4
Python Visualization 1 1 2 5 1
R 0 3 1 4 1
Shell Basic 0 0 1 1 4

Department/Majors represented by Attendees


College Attendees Unique
CAS 13 9
CoB 4 2
CoE 3 3
LTS 7 7
Other 10 5
RCEAS 28 17
65 43

Fall 2019

Summary


Status Total Unique
Faculty 4 3
Faculty/Staff 6 4
Graduate Student 27 14
Undergraduate Student 9 7
46 28
Session Attendees
GIT 2
LaTeX 2
Linux 5
LURC 1
Machine Learning 9
MATLAB 2
Python 8
Python OOP 9
Shell Basic 5
Text Mining 3

Attendees by Session

Session Faculty Faculty/Staff Graduate Student Undergraduate Student
GIT 0 1 1 0
LaTeX 0 0 2 0
Linux 0 1 3 1
LURC 0 0 0 1
Machine Learning 2 1 3 3
MATLAB 0 0 0 2
Python 0 0 7 1
Python OOP 1 2 6 0
Shell Basic 0 1 4 0
Text Mining 1 0 1 1

Department/Majors represented by Attendees


College Attendees Unique
CAS 9 5
CoB 1 1
CoE 3 2
LTS 4 2
Other 1 1
RCEAS 28 17
46 28

Summary

Attendees


Semester Sessions Attendees Unique
Spring 2018 6 23 18
Summer 2018 6 69 32
Fall 2018 6 48 35
18 140 85
Session Offered Attendees Average
Python 2 29 14.50
Linux 3 25 8.33
R 2 19 9.50
GIT 1 12 12.00
Shell Basic 1 12 12.00
Python Visualization 1 9 9.00
LaTeX 2 8 4.00
Shell Advanced 1 8 8.00
LURC 2 7 3.50
MATLAB 1 6 6.00
R Visualization 1 4 4.00
SLURM 1 1 1.00

Attendees Status


Status Attendees Unique
Affiliate 3 2
Faculty 12 9
Faculty/Staff 43 28
Graduate Student 52 28
Undergraduate Student 30 16
140 83

Attendees per Session

Departments/Majors represented by Attendees


Semester Sessions Attendees Department
Spring 2018 6 23 13
Summer 2018 6 69 20
Fall 2018 6 48 20
18 140 53
College Attendees Unique
CAS 33 20
CoB 14 9
CoE 3 1
LTS 17 15
Other 21 11
RCEAS 52 27
140 83

Spring 2018

Summary


Status Total Unique
Faculty 1 1
Faculty/Staff 5 5
Graduate Student 15 10
Undergraduate Student 2 2
23 18
Session Attendees
LaTeX 5
Linux 4
LURC 4
R 5
R Visualization 4
SLURM 1

Attendees by Session

Session Faculty Faculty/Staff Graduate Student Undergraduate Student
LaTeX 0 0 5 0
Linux 0 1 3 0
LURC 0 1 3 0
R 1 1 1 2
R Visualization 0 2 2 0
SLURM 0 0 1 0

Department/Majors represented by Attendees


College Attendees Unique
CAS 2 1
CoB 2 2
LTS 1 1
Other 4 4
RCEAS 14 10
23 18

Summer 2018

Summary


Status Total Unique
Faculty 7 6
Faculty/Staff 12 5
Graduate Student 26 9
Undergraduate Student 24 12
69 32
Session Attendees
Linux 15
MATLAB 6
Python 14
R 14
Shell Advanced 8
Shell Basic 12

Attendees by Session

Session Faculty Faculty/Staff Graduate Student Undergraduate Student
Linux 1 2 3 9
MATLAB 0 1 3 2
Python 2 4 6 2
R 3 2 6 3
Shell Advanced 0 2 3 3
Shell Basic 1 1 5 5

Department/Majors represented by Attendees


College Attendees Unique
CAS 27 15
CoB 7 4
CoE 3 1
LTS 2 1
Other 8 3
RCEAS 22 8
69 32

Fall 2018

Summary


Status Total Unique
Affiliate 3 2
Faculty 4 3
Faculty/Staff 26 18
Graduate Student 11 10
Undergraduate Student 4 2
48 35
Session Attendees
GIT 12
LaTeX 3
Linux 6
LURC 3
Python 15
Python Visualization 9

Attendees by Session

Session Affiliate Faculty Faculty/Staff Graduate Student Undergraduate Student
GIT 0 1 10 0 1
LaTeX 0 0 3 0 0
Linux 0 0 2 3 1
LURC 1 0 1 0 1
Python 1 2 6 5 1
Python Visualization 1 1 4 3 0

Department/Majors represented by Attendees


College Attendees Unique
CAS 4 4
CoB 5 3
LTS 14 13
Other 9 4
RCEAS 16 11
48 35

Summary

Attendees


Semester Sessions Attendees Unique
Spring 2017 9 39 26
Fall 2017 4 11 9
13 50 35
Session Offered Attendees Average
Linux 2 8 4.0
SLURM 2 7 3.5
Python 1 6 6.0
Shell Basic 1 6 6.0
LaTeX 1 5 5.0
MATLAB 1 5 5.0
LURC 1 4 4.0
RDM 1 4 4.0
GIT 1 3 3.0
Storage 1 1 1.0
Virtual Software 1 1 1.0

Attendees Status


Status Attendees Unique
Faculty 3 3
Faculty/Staff 18 14
Graduate Student 25 13
Undergraduate Student 4 4
50 34

Attendees per Session

Departments/Majors represented by Attendees


Semester Sessions Attendees Department
Spring 2017 9 39 17
Fall 2017 4 11 6
13 50 23
College Attendees Unique
CAS 8 8
CoB 2 2
CoE 1 1
LTS 13 10
Other 1 1
RCEAS 24 11
Undeclared 1 1
50 34

Spring 2017

Summary


Status Total Unique
Faculty 3 3
Faculty/Staff 12 8
Graduate Student 20 11
Undergraduate Student 4 4
39 26
Session Attendees
GIT 3
LaTeX 5
Linux 6
LURC 4
MATLAB 5
RDM 4
Shell Basic 6
SLURM 5
Storage 1

Attendees by Session

Session Faculty Faculty/Staff Graduate Student Undergraduate Student
GIT 1 2 0 0
LaTeX 0 2 3 0
Linux 0 1 4 1
LURC 0 0 3 1
MATLAB 1 2 2 0
RDM 1 0 1 2
Shell Basic 0 3 3 0
SLURM 0 1 4 0
Storage 0 1 0 0

Department/Majors represented by Attendees


College Attendees Unique
CAS 8 8
CoB 2 2
CoE 1 1
LTS 8 5
RCEAS 19 9
Undeclared 1 1
39 26

Fall 2017

Summary


Status Total Unique
Faculty/Staff 6 6
Graduate Student 5 3
11 9
Session Attendees
Linux 2
Python 6
SLURM 2
Virtual Software 1

Attendees by Session

Session Faculty/Staff Graduate Student
Linux 0 2
Python 5 1
SLURM 0 2
Virtual Software 1 0

Department/Majors represented by Attendees


College Attendees Unique
LTS 5 5
Other 1 1
RCEAS 5 3
11 9

Summary

Attendees


Semester Sessions Attendees Unique
Fall 2016 10 75 50
10 75 50
Session Offered Attendees Average
Python 1 17 17
Linux 1 14 14
Linux Intro 1 10 10
MATLAB 1 10 10
RDM 1 9 9
Shell Basic 1 6 6
Storage 1 4 4
LURC 1 2 2
SLURM 1 2 2
Research Impact 1 1 1

Attendees Status


Status Attendees Unique
Faculty 4 4
Faculty/Staff 30 20
Graduate Student 29 18
Undergraduate Student 12 8
75 50

Attendees per Session

Departments/Majors represented by Attendees


Semester Sessions Attendees Department
Fall 2016 10 75 28
10 75 28
College Attendees Unique
CAS 21 14
CoB 6 3
CoE 3 2
LTS 18 13
Other 7 5
RCEAS 18 11
Undeclared 2 2
75 50

Fall 2016

Summary


Status Total Unique
Faculty 4 4
Faculty/Staff 30 20
Graduate Student 29 18
Undergraduate Student 12 8
75 50
Session Attendees
Linux 14
Linux Intro 10
LURC 2
MATLAB 10
Python 17
RDM 9
Research Impact 1
Shell Basic 6
SLURM 2
Storage 4

Attendees by Session

Session Faculty Faculty/Staff Graduate Student Undergraduate Student
Linux 0 3 6 5
Linux Intro 0 2 6 2
LURC 0 1 1 0
MATLAB 0 4 3 3
Python 1 10 4 2
RDM 2 4 3 0
Research Impact 0 0 1 0
Shell Basic 1 3 2 0
SLURM 0 0 2 0
Storage 0 3 1 0

Department/Majors represented by Attendees


College Attendees Unique
CAS 21 14
CoB 6 3
CoE 3 2
LTS 18 13
Other 7 5
RCEAS 18 11
Undeclared 2 2
75 50

Summary

Attendees


Semester Sessions Attendees Unique
Spring 2015 7 93 52
Fall 2015 8 81 52
15 174 104
Session Offered Attendees Average
Linux 2 44 22.0
Linux Intro 2 37 18.5
Shell Basic 2 33 16.5
R 1 20 20.0
MATLAB 2 11 5.5
Storage 2 11 5.5
Shell Advanced 2 10 5.0
LURC 2 8 4.0

Attendees Status


Status Attendees Unique
Affiliate 1 1
Faculty 16 11
Faculty/Staff 49 25
Graduate Student 98 60
Undergraduate Student 10 6
174 103

Attendees per Session

Departments/Majors represented by Attendees


Semester Sessions Attendees Department
Spring 2015 7 93 23
Fall 2015 8 81 25
15 174 48
College Attendees Unique
CAS 45 27
CoB 1 1
CoE 2 2
LTS 18 14
Other 7 3
RCEAS 89 48
Undeclared 12 7
174 102

Spring 2015

Summary


Status Total Unique
Faculty 10 7
Faculty/Staff 21 9
Graduate Student 55 32
Undergraduate Student 7 4
93 52
Session Attendees
Linux 22
Linux Intro 29
LURC 2
MATLAB 9
Shell Advanced 4
Shell Basic 20
Storage 7

Attendees by Session

Session Faculty Faculty/Staff Graduate Student Undergraduate Student
Linux 1 4 14 3
Linux Intro 3 7 16 3
LURC 1 1 0 0
MATLAB 2 1 6 0
Shell Advanced 1 1 2 0
Shell Basic 1 4 14 1
Storage 1 3 3 0

Department/Majors represented by Attendees


College Attendees Unique
CAS 14 8
LTS 5 5
Other 5 1
RCEAS 60 33
Undeclared 9 5
93 52

Fall 2015

Summary


Status Total Unique
Affiliate 1 1
Faculty 6 5
Faculty/Staff 28 16
Graduate Student 43 28
Undergraduate Student 3 2
81 52
Session Attendees
Linux 22
Linux Intro 8
LURC 6
MATLAB 2
R 20
Shell Advanced 6
Shell Basic 13
Storage 4

Attendees by Session

Session Affiliate Faculty Faculty/Staff Graduate Student Undergraduate Student
Linux 1 1 7 12 1
Linux Intro 0 0 2 5 1
LURC 0 0 3 3 0
MATLAB 0 0 2 0 0
R 0 3 8 8 1
Shell Advanced 0 1 1 4 0
Shell Basic 0 0 3 10 0
Storage 0 1 2 1 0

Department/Majors represented by Attendees


College Attendees Unique
CAS 31 20
CoB 1 1
CoE 2 2
LTS 13 10
Other 2 2
RCEAS 29 15
Undeclared 3 2
81 52
---
title: "HPC Training" 
output: 
   flexdashboard::flex_dashboard:
      source: embed
---

```{r setup, include=FALSE}
suppressMessages(library(tidyverse))
library(googlesheets4)
library(knitr)
library(plotly)
library(DT)
library(googledrive)

# Function to rename CBE to CoB
cbe2cob <- function(data){
  data %>% mutate_if(is.character, str_replace_all, pattern = "CBE", replacement = "CoB")  
}

# Using new googlesheet API
options(gargle_oauth_email = "alp514@lehigh.edu")
#f21 <- read_sheet("1GUx4sLiaCcGQPkhrfetoagsCIJ_SUHvfSR62NtpMI1I",range = "Fall 2021!A7:Q28")
#f21[is.na(f21)] <- 0

#f21 %>% select(Name,Department,College,Status,LURC:`Shiny Apps`) %>% 
#  gather(Session, Count, LURC:`Shiny Apps`) %>% 
#  mutate(Semester="Fall 2021",ID=15,AY="21-22",CY="2021") -> Fall2021
Fall2021 <- read_csv("archive/2021-fall.csv")
Spring2021 <- read_csv("archive/2021-spring.csv")
Fall2020 <- read_csv("archive/2020-fall.csv")
Spring2020 <- read_csv("archive/2020-spring.csv")
Fall2019 <- read_csv("archive/2019-fall.csv")
Summer2019 <- read_csv("archive/2019-summer.csv")
Spring2019 <- read_csv("archive/2019-spring.csv")
Fall2018 <- read_csv("archive/2018-fall.csv")
Summer2018 <- read_csv("archive/2018-summer.csv")
Spring2018 <- read_csv("archive/2018-spring.csv")
Fall2017 <- read_csv("archive/2017-fall.csv")
Spring2017 <- read_csv("archive/2017-spring.csv")
Fall2016 <- read_csv("archive/2016-fall.csv")
Fall2015 <- read_csv("archive/2015-fall.csv")
Spring2015 <- read_csv("archive/2015-spring.csv")

Attendance <- bind_rows(Fall2021,Spring2021,Fall2020,Spring2020,Fall2019,Summer2019,Spring2019,Fall2018,Summer2018,Spring2018,Fall2017,Spring2017,Fall2016,Fall2015,Spring2015)
Attendance[is.na(Attendance)] <- 0
Attendance2015 <- bind_rows(Spring2015,Fall2015)
Attendance2016 <- Fall2016
Attendance2017 <- bind_rows(Spring2017,Fall2017)
Attendance2018 <- bind_rows(Spring2018,Summer2018,Fall2018)
Attendance2019 <- bind_rows(Spring2019,Summer2019,Fall2019)
Attendance2020 <- bind_rows(Spring2020,Fall2020)
Attendance2021 <- bind_rows(Spring2021,Fall2021)
Attendance2015[is.na(Attendance2015)] <- 0
Attendance2016[is.na(Attendance2016)] <- 0
Attendance2017[is.na(Attendance2017)] <- 0
Attendance2018[is.na(Attendance2018)] <- 0
Attendance2019[is.na(Attendance2019)] <- 0
Attendance2020[is.na(Attendance2020)] <- 0
Attendance2021[is.na(Attendance2021)] <- 0
#write_csv(Attendance,"training.csv")
#write_csv(Fall2021,"archive/2021-fall.csv")
theme_set(theme_classic())
```

```{r deffunc}
summary_setup <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Semester,ID) %>%
    summarize(Total=sum(Count))
}

attendeetotal <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Semester,ID) %>%
    summarize(Sessions=sum(n_distinct(Session)),Attendees=sum(Count)) %>%
    arrange(ID)
}

attendeeunique <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Name,Semester,ID) %>%
    summarize(Unique=sum(n_distinct(Name))) %>%
    group_by(Semester,ID) %>%
    summarize(Unique=sum(Unique)) %>%
    arrange(ID)
}

attendeedesc <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Session) %>%
    summarize(Offered= sum(n_distinct(Semester)),Attendees=sum(Count)) %>%
    mutate(Average=round(Attendees/Offered,2)) %>%
    arrange(-Attendees)
}

attendeestatus <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Semester,Status,ID) %>%
    summarize(Total=sum(Count))
}

attendeesession <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Semester,Session,ID) %>%
    summarize(Total=sum(Count))
}

attendeedept <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Department) %>%
    summarize(Total=sum(Count))
}

attendeedeptunique <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Name,Department) %>%
    summarize(Unique=sum(n_distinct(Name))) %>%
    group_by(Department) %>%
    summarize(Unique=sum(Unique))
}

deptunique <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Department,Semester,ID) %>%
    summarize(Unique=sum(n_distinct(Department))) %>%
    group_by(Semester,ID) %>%
    summarize(Department=sum(Unique)) %>%
    arrange(ID)
}

depttotal <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Semester,ID) %>%
    count(Department) %>%
    summarize(Department=sum(n)) %>%
    arrange(ID)
}

attendeestatustotal <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Status) %>%
    summarize(Attendees=sum(Count))
}

attendeestatusunique <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Name,Status) %>%
    summarize(Unique=sum(n_distinct(Name))) %>%
    group_by(Status) %>%
    summarize(Unique=sum(Unique))
}

collegetotal <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(College) %>%
    summarize(Attendees=sum(Count)) 
}

collegeunique <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Name,College) %>%
    summarize(Unique=sum(n_distinct(Name))) %>%
    group_by(College) %>%
    summarize(Unique=sum(Unique))
}

sem_status <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Status) %>%
    summarize(Total=sum(Count))
}

sem_unique <- function(data) {
  data %>%
    filter(Count > 0) %>%
    group_by(Name,Status) %>%
    summarize(Total=n_distinct(Name)) %>%
    select(Status,Total) %>%
    group_by(Status) %>%
    summarize(Unique=n())
}

sem_attendee <- function(data,col_name1,col_name2) {
  col_name1 <- as.name(col_name1)
  col_name2 <- as.name(col_name2)
  data %>%
    filter(Count>0) %>%
    group_by_(col_name1,col_name2) %>%
    summarize(Attendees=sum(Count))
}

sem_attendee_session <- function(data) {
  data %>%
    filter(Count>0) %>%
    group_by(Session) %>%
    summarize(Attendees=sum(Count))
}

sem_attendee_dept <- function(data) {
  data %>%
    filter(Count > 0) %>%
    group_by(Department) %>%
    summarize(Total=n())
}
```

Summary {.storyboard}
=========================================


###  Attendees {data-commentary-width=400}

```{r summary_setup,eval=F}
Attendance %>% summary_setup %>%
  plot_ly(x = ~reorder(Semester,ID), y = ~Total, type = "bar", 
          name = "Total Number of Attendees per Semester") %>%
  layout(xaxis = list(title = 'Semester'), yaxis = list(title = '' ))
```


```{r summary_attendees,echo=F}
Attendance %>% attendeetotal -> Attendees_Total
Attendance %>% attendeeunique -> Attendees_Unique
full_join(Attendees_Total,Attendees_Unique) -> Attendance_Summary
plot_ly(data=Attendance_Summary, 
        x = ~reorder(Semester,ID), y = ~Attendees, 
        type = "bar", 
        name = "Total Attendees") %>%
    add_trace(y =  ~ Unique, name = "Unique Attendees") %>%
  layout(xaxis = list(title = 'Semester'), yaxis = list(title = '' ))
```

*** 

```{r summary_attendees_desc,echo=F}
Attendance %>% attendeetotal -> Attendees_Total
Attendance %>% attendeeunique -> Attendees_Unique
full_join(Attendees_Total,Attendees_Unique) %>% select(-ID) -> tmp
tmp1 <- tribble(
   ~Semester,~Sessions,~Attendees,~Unique,
   "",sum(tmp$Sessions),sum(tmp$Attendees),sum(tmp$Unique))
bind_rows(tmp,tmp1) %>% kable()
```

### Attendees Status

```{r summary_attendee_status,echo=F}
Attendance %>% attendeestatus %>%
  plot_ly(x = ~reorder(Semester,ID), y = ~Total, color = ~Status, type = "bar")%>%
  layout(xaxis = list(title = 'Semester'), yaxis = list(title = '' ))
```

***

```{r total_attendee_status,echo=F}
Attendance %>% attendeestatustotal -> total_attendee
Attendance %>% attendeestatusunique -> unique_attendee
full_join(total_attendee,unique_attendee) -> tmp 
add_row(tmp,Status="",Attendees=sum(tmp$Attendees),Unique=sum(tmp$Unique)) %>% kable()
```

### Attendees per Session

```{r summary_attendee_session,echo=F}
Attendance %>% attendeesession %>%
  plot_ly(x = ~reorder(Semester,ID), y = ~Total, color = ~Session, type = "bar")%>%
  layout(xaxis = list(title = 'Semester'), yaxis = list(title = '' ), barmode = 'stack')
```

***

```{r summary_attendee_session_desc,echo=F}
Attendance %>% attendeedesc %>% kable()
```

### Departments/Majors represented by Attendees {data-commentary-width=600}


```{r summary_attendee_dept,echo=F}
Attendance %>% attendeedept -> tmp1
Attendance %>% attendeedeptunique -> tmp2
full_join(tmp2,tmp1) %>% datatable(options=list(pageLength = 25))
```

***

```{r summary_attendee,echo=F}
Attendance %>% deptunique -> Department_Unique
Attendance %>% depttotal -> Department_Total
full_join(Attendees_Total,Department_Unique) %>% 
  select(-ID) -> tmp
tmp1 <- tribble(
  ~Semester,~Sessions,~Attendees,~Department,
  "",sum(tmp$Sessions),sum(tmp$Attendees),sum(tmp$Department))
bind_rows(tmp,tmp1) %>% kable()
```

```{r summary_college,echo=F}
Attendance %>% collegetotal -> total_attendee
Attendance %>% collegeunique -> unique_attendee
full_join(total_attendee,unique_attendee) -> tmp 
add_row(tmp,College="",Attendees=sum(tmp$Attendees),Unique=sum(tmp$Unique)) %>% kable()
```

```{r child = "Rmds/cy2021.Rmd"}
```

```{r child = "Rmds/cy2020.Rmd"}
```

```{r child = "Rmds/cy2019.Rmd"}
```

```{r child = "Rmds/cy2018.Rmd"}
```

```{r child = "Rmds/cy2017.Rmd"}
```

```{r child = "Rmds/cy2016.Rmd"}
```

```{r child = "Rmds/cy2015.Rmd"}
```